package kotlin


class Person6 {
    // 属性。
    var name: String = ""
}

class Person7 {
    // 属性的 getter、setter 方法：
    var name: String = ""
        get() {
            println("get name: $field")
            return field
        }
        set(value) {
            println("set name: $value")
            field = value
        }

    // 类的函数，
    // 与写在类外面的顶层函数语法相同，只是作用域不一样。
    fun work() {
        println("$name is working")
    }

}

fun run2() {
    // 直接调用 name 属性， getter, setter 方法会进行拦截。
    var p = Person7()
    p.name = "neo"
    println("p.name = ${p.name}")
}